1. Field of the Invention
The present invention relates to a data processing apparatus that controls the destination of data output from an information processing apparatus, a data processing method, and a storage medium that stores a software program implementing the data processing method on a computer.
2. Description of the Related Art
Along with the popularization of network technology, a configuration now commonly employed features a plurality of personal computers (PCs) connected to a printer via a network in an office environment, with the PCs sharing the printer A printer server is connected to the network to manage printing and process printing requests from PCs appropriately so that the printer executes printing in good order even if a plurality of PCs send printing requests simultaneously.
In such an environment, a plurality of users send printing requests to a printer using their own PCs, and the printer executes printing when the printer receives printing requests from users. In this case, there is no problem if printing outputs are not confidential or not related to personal data etc., since it is not an issue if other users browse them. However, if printing outputs are confidential documents, it can be a serious matter if other users under no duty to maintain confidentiality browse those documents.
In addition, multi function peripherals (MFPs) with functions such as printing, copying, faxing, and scanning are often used as network-connected printers. MFPs can fax documents when they receive a request to send documents by fax from a user using a PC. In such an environment, there is always the risk that a user might fax an internal document by mistake, and that can lead to serious damage.
Generally speaking, in an office environment a plurality of printers and MFPs are connected to the network. In such an environment, instead of sending printing and facsimileing requests from a PC directly to the printer or MFP designated by the PC, an apparatus that controls the output destination by choosing an appropriate apparatus like a printer and executing printing on the appropriate apparatus has been proposed (e.g., JP-2010-157208-A.)
The apparatus described in JP-2010-157208-A is a data processing apparatus that manages printing outputs from a plurality of client PCs via a network and implements virtual printer drivers and a plurality of remote drivers. A virtual printer driver receives printing requests via the network, generates an intermediate file as a page image from print data corresponding to received printing requests, chooses a remote driver corresponding to destination printer information related to a client PC or a user, and loads the remote driver. The loaded remote driver generates output data including raw data from the generated intermediate file, sends the output data to the corresponding remote printer, and has the remote printer print the output data. Accordingly, the virtual printer driver changes the output destination to an output destination related to the client PC and the user.
Also, the virtual printer driver extracts a string (text data) included in the intermediate file and can determine whether or not a predefined keyword is included in the extracted string. If the predefined keyword is included in the extracted string, the virtual printer driver determines a printing condition corresponding to the predefined keyword, and sets the determined printing condition. After that, the virtual printer driver sets the printing condition to the remote driver and has the remote driver execute processes such as generating the raw data described above and adding page description language (PDL) commands. Accordingly, the virtual printer driver changes the output destination according to the string included in print data.
The conventional apparatus described above determines a destination printer using information specific to the client PC and the user who operates the client PC, and executes printing on the determined printer. With a plurality of output destinations, some of which are located in rooms anyone can enter, a security problem arises if a confidential document is printed on one of the apparatuses located in a room anyone can enter. The conventional apparatus can modify documents and print documents with tint block printing enabled in case the string “confidential” is included to prevent unauthorized copying and solve the security problem. Tint block printing is a feature that prints a tint block so that graphics or characters appear in the background of a copy if the printout is copied.
However, in the conventional apparatus a feature that has document modification rules is installed as a single module, so it is not easily possible to add another rule, delete a registered rule, or change a registered rule. It is necessary to replace module itself to add rules etc, and that makes maintenance difficult since the module is replaced each time rules are added, changed, etc. Also, it is not possible to add, delete, or change a rule after installation since this module is built in.